package com.qingzhu.dao;

import com.qingzhu.pojo.Item;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ItemDao {
    // 根据id查找指定的SKU规格；isAll指定查询时是否需要排除已删除和已下架的产品
    public Item findById(@Param("itemId") int itemId, @Param("excludeDel") boolean excludeDel);
    // 根据SPU查找所有SKU规格；isAll指定查询时是否需要排除已删除和已下架的产品
    public List<Item> findByGoodsAll(@Param("goodsId") int goodsId, @Param("excludeDel") boolean excludeDel);
    // 根据用户的选择查找指定的SKU规格
    public Item findItem(@Param("goodsId") int goodsId,
                         @Param("edition") String edition,
                         @Param("colour") String colour,
                         @Param("network") String network);
    public List<Integer> findItemFromSpec(@Param("colour") String colour,
                                       @Param("network") String network,
                                       @Param("runMemory") String runMemory,
                                       @Param("memory") String memory);
    // 添加商品到数据库
    public int addItem(Item item);
    // 修改单品信息
    public int updateItem(Item item);
    // 修改商品状态
    public int updateItemState(@Param("state") String state, @Param("itemId") String itemId);
    // 根据商品的SPU下架单品
    public int downItemByGoodsId(@Param("state") String state, @Param("goodsId") String goodsId);
}
